{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "!wget -O simhei.ttf \"https://www.wfonts.com/download/data/2014/06/01/simhei/chinese.simhei.ttf\"\n",
        "import matplotlib\n",
        "matplotlib.font_manager.fontManager.addfont('simhei.ttf')\n",
        "matplotlib.rc('font', family='SimHei')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "djSz7Tb3a1sE",
        "outputId": "8509156e-0df9-4382-9915-47677d035a1e"
      },
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--2025-03-31 08:57:20--  https://www.wfonts.com/download/data/2014/06/01/simhei/chinese.simhei.ttf\n",
            "Resolving www.wfonts.com (www.wfonts.com)... 172.67.129.58, 104.21.1.127, 2606:4700:3031::ac43:813a, ...\n",
            "Connecting to www.wfonts.com (www.wfonts.com)|172.67.129.58|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 10050870 (9.6M) [application/octetstream]\n",
            "Saving to: ‘simhei.ttf’\n",
            "\n",
            "simhei.ttf          100%[===================>]   9.58M  20.8MB/s    in 0.5s    \n",
            "\n",
            "2025-03-31 08:57:21 (20.8 MB/s) - ‘simhei.ttf’ saved [10050870/10050870]\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 3,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 579
        },
        "id": "dbdG4VkfaYS5",
        "outputId": "fe2187c0-6a02-4337-89e0-82e5ad370878"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.11/dist-packages/IPython/core/pylabtools.py:151: UserWarning: Glyph 8722 (\\N{MINUS SIGN}) missing from font(s) SimHei.\n",
            "  fig.canvas.print_figure(bytes_io, **kw)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1000x600 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzkAAAINCAYAAAAdjrEWAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAea9JREFUeJzt3Xd4FOXexvHvtvROgFACCUFARUCwoYIgooC9vIIgKhbEXs+xHaUcy7G3Y8OGItiVYwEEC6ioKCIC0qSEElp6T7bMvH9ssiQkQAJJJuX+XNdc02d+mx3I3nlmnrWZpmkiIiIiIiLSTNitLkBERERERKQuKeSIiIiIiEizopAjIiIiIiLNikKOiIiIiIg0Kwo5IiIiIiLSrCjkiIiIiIhIs6KQIyIiIiIizYpCjoiIiIiINCsKOSIiIiIi0qwo5IiItDAlJSV8+OGHgfk333yTMWPGBOZ//PFH5s+fj2EY9V6LaZps3LixyvL9nfv999+nuLh4v8fdtm0b7733Hm+99dYh13ig8zzxxBN4vd5Ky9PS0vjrr7/q9dwiIrJvNtM0TauLEBGRhvPLL78wcOBApk+fzsiRI3nmmWf4+OOP+eGHHwAYMmQIhmHw1VdfERQUVGlfn8/H1q1bD3iO8PBwWrduXWX5Bx98wMCBA0lISABgx44dJCcnk5GRQUREBOAPOO3ateOJJ55g7NixlfZPS0ujd+/edOvWjc8//5yNGzfy7bffkpWVRVpaGhs3bmTNmjVkZ2cTERFBjx49mDVrFh06dKh0nFWrVuFwOAgODj7ga2ndujXh4eGVlp122mnccsstxMfHc+KJJ+LxeLjpppsICwvjySef5JVXXuGGG25gzZo1dO3a9YDnEBGRuuW0ugAREWkY2dnZ7Nq1i5iYGG6//XaysrJYs2YNGRkZlJaWsmbNGtasWcPPP//M7NmzAy0sXbp0CYSd9PR0kpOTD3iuUaNG8e6771ZaZpom77zzDvfddx8LFy7k448/ZsmSJcTFxfHggw8C8O9//5uNGzeye/du+vfvX+W4HTp04JdffuG0007jzDPP5I033uDXX38lISGBHj168NdffzFq1CgmT55cbcgqd+aZZ5KRkYHD4ah2vcfjoaioCIB3332XUaNGVVo/bNgwnnnmGR577DFsNhsZGRlMnz6db7/9FoAVK1YwZMgQBRwREYuoJUdEpIV48cUX+ec//0lSUlKN9/nrr7/YsGEDXbp0ASArK4tWrVqxYsUKevbsWe0+V199NV6vl2nTplVZ5/V6GTZsGCNHjuSNN97g8MMP57jjjqO0tJRbb70Vn8/Hiy++yNNPP82GDRswTZOSkhJCQkKw2WyB4/z9998UFhbSp0+fSse/6KKL6NmzJ5MmTarxa6woJyeHN954g8cee4zw8HDGjRvHNddcQ9u2bQPb7Ny5k927d+N0OklNTeWcc85h3bp1LFu2jO7du9OtWzd69epFx44dOeOMMwL7hYSEcOONNx5UXSIiUjtqyRERaSFCQkI44YQT+Prrr2u8j81mw+VyBebt9sqPcubn53PRRRdx+eWXM3r06AMez+l08sUXXxASEsKMGTMqrXM4HNjtdj755BM2btxYKdRs2rSJpKQksrOziY2N5bDDDsPn81FUVERISEiVusqZpklxcXG1t6aV/42v/Dxjxozhk08+oXfv3kydOpWzzjqr2uNOnTqV//znPzidTvLz8wE4+uijMQwDt9vN119/zZo1a+jTpw9r1qzhjz/+ICsriwsuuOCAPx8REakb6nhARKSFqPiwfnx8PDabbZ/Dyy+/DEB0dDRut3ufx3S73cybN4/S0tIDnv+1115j1KhR7Ny5E/CHjMjISOLj42nVqhXgv83ru+++49dff8UwDBwOB2lpaXTu3Bmv18vgwYMZO3YsxcXFrF69mvDwcBwOR6Dujz/+mMmTJwfm7XY74eHhvPTSS1Xqee6557j66qsDnRx8/fXX3Hvvvfzyyy90796dt99+u9rX8cADD1BUVMS//vUv2rRpg91uZ8mSJdxyyy2Ulpby/fff06VLF959911ee+01zjjjDAYNGsSTTz55wJ+RiIjUDYUcEZEW4oYbbgi04oSEhPD666+TnZ1dZTjppJMICQkB/LdvpaSk7POYJSUlAHTu3PmA5x86dChbt26lX79+FBYWUlJSwmuvvcbVV18duI1rwoQJAHTv3p3MzEyCg4Np3749NpsNp9PJ3XffzaxZszjxxBOJjY1l+/btZGZmBmo/55xzuOuuuyq9nl27dnHllVcG6njvvff45ptvGDFiBN999x1jxozB6/USEhJCcnIyX375JSeddBJz5swhIyODtWvXVnnN//jHP3jqqad46qmnMAwDl8vFc889x4cffsibb75ZqQUoOzt7v88HiYhI3VPIERGRKireKrY/5a0yiYmJB9y2c+fOfPPNN7z11luEh4ezePFiCgsLufXWW9mwYQNer5f09HTAf3va+vXrqwSsUaNGsWDBArp06ULbtm1p164dcXFxxMTEEBMTg8vlIiQkJDAfExNDmzZtiIqKChzjhRdeYO7cuRx22GF89913xMXFBVqDAN555x0ef/xx3n//fb777jv69etXqYaPPvqI77//nl9//ZW4uDiuvfZaOnTowAMPPMD//vc/UlNTKS4uZvPmzQBs2bKlSu9uIiJSvxRyRERaoJKSEq666ipiY2OrDIsWLQq00Oxt775q1q1bh8Ph4Mcff+T9998/4HlDQkI466yzcLvdlJSUYJomH374IUuWLMHr9fLII49wyy23sGzZMtasWUOvXr2qHKNfv358/PHHOJ3+x0qLi4vJyckhJycHj8dDSUlJYD4vL6/K/k6nM9AldOfOnQM9pJV75513GDduHACxsbGVnuUxDINTTz2Vzz77DK/Xy9lnn82QIUMoLCzk6quvZtq0aaxdu5Zhw4bxwQcfALBy5cr9toaJiEjdU8gREWmBMjIyME0T0zR5/vnnOeWUUwLzpmly7bXXVrvf3s/eLFy4kCOPPJKvv/6a2bNnB5bv/eWY5UpKSti0aRPPPPMM8fHxhIaGsmHDBi6++GLCw8NZuXIlJ5xwAj///DNLly7l2GOPrfY4//3vf8nNzQXgzjvvDAS0zz77jEcffTQwX10XzhVvJfvpp5/o3bs3S5cuBfy35x1xxBGB53GcTmelAJSVlUWHDh1ISEggJSUFn8/HxRdfHDjfrl27SElJYdiwYbz55pts376dLVu27PN1iIhI/VDIERFpYcLDwyt1MnDTTTexcOHCKp0PXHfdddXu3717d4KDg8nMzGTmzJmcd955OJ3OQC9s/fv357jjjqt238WLFzNkyBD++c9/UlBQwCWXXMITTzxBbm4upaWlTJw4kcGDBzNnzhwWLlzIoEGDqhwjPT2dW2+9lXnz5gEQHBzM5ZdfXimkmabJ559/Xu2XfdpsNvLz8xk9ejRDhgxhwoQJga6oY2JiuOuuu7j66qu5//77q+zbqlUrcnNzKSkpoVu3bsyYMSPw/T+9evUK3JY2YsQItm3bxoQJEzjyyCMrdUEtIiL1TyFHRKSFCQ4O5vPPPw88mP/YY49x0kknVXpY/+KLLyY0NLTKvgkJCaxZs4akpCQuvfRS7HY71157baXWjquuuoqbb7652nMvWLCAU089NTC/ZMkS7r33XqKjowkLCwOgbdu2tGrVipycHHr37l3lGO+++y7x8fGcd955QNVurSuqbl15r25BQUEsWrSIq6++mtWrV5Oeno7L5eLKK69k+vTprFmzJtDzWjmbzUZUVBQzZsxg/fr1rFy5km+++YannnqqUucGYWFhXH311Xz++ef7/FmIiEj9UcgREWlhbDYbERERgQfzQ0NDcTqdlR7Wh32Hhz///JOTTz6ZefPm8cYbb9C+fftqt1u5ciVXXHEF27dvDyz74osvGDx4MABLly5lx44dZGZm8vPPPwc6BzBNM1DP3s8AGYbBiy++yFVXXRVoOdrfd1pX14FC+fbTpk2jb9++zJo1i549e+JwODjmmGMAGDlyJB9++OE+fwaXXnop33zzDXa7nfPPP5+lS5fy5ZdfBp5LKu/iGqCwsHCf9YmISP1QyBERaWE8Hs8+182ZM4dRo0YxZ84coqOjA8u3b9/O888/z+DBg+nTpw9btmzhf//7X+ALLl0uF7/88gvLli1j/fr1rFmzhtdee40PP/wwEF7WrFnDkiVLGDBgAIZhcMstt3Dttdficrn46aefAt1QP/roo4Eupp9++ulK9c2YMYO1a9cyZsyYwDLDMHjrrbeq3G539tln4/P5qrxGt9tNVlYW69evZ/369fTs2ZOXXnqJhQsXYppmYPn69etJS0ur9ucUFBREUlISa9euJT4+nvfffx+n08nu3btZvXo1J554Ihs2bOCJJ57gzjvv5Mknn9xvGBMRkTpmiohIi/LGG2+Y27dvD8w/++yz5oABA0zTNM2VK1eaycnJ5jXXXGPu3LkzsE1OTo7Zr18/s3379ubDDz9s5uXlVTrmvHnzzNatW5tAYIiJiTGnTp0a2Oa6664z27dvb/p8PnPcuHFm9+7dzYKCAvO5554zg4ODzXfeececOHGiGRkZaa5cudL86aefzKCgIPOVV14JHOPpp582zz///Ernvu6668xLLrnEzM7OrjS89957Znx8fJXX37t370p1HmiIjY0N7GsYhvnOO++Y5513nhkSEmKOHz/ezMnJMU3TNLOzs80bbrjBDAoKMs844wwzIyPDNE3TnDhxogmYZ599tunz+Wr9fomISO3ZTFN/WhIRackeffRRPv74Y3799df9brd7927i4uICXTfX1m+//cbixYu58cYbee+99zj88MPp3bt3oOvnVatWMXLkSKZPn87QoUMBmDp1Kt999x1vvPFGtc8Igf/WMNM0A8/01KUFCxYwfPhwiouLA8ueeOIJduzYwfXXX1+la+j777+fLl26BLqgLvf2229z/PHH07179zqvUUREqlLIERGRRsPj8QSetRERETlYCjkiIiIiItKsqOMBERERERFpVhRyRERERESkWTm4p0cbiGEYbN++ncjIyGq/60BERERERFoG0zTJz8+nffv2+/0iaGjkIWf79u0kJiZaXYaIiIiIiDQSW7dupWPHjvvdplGHnMjISMD/Qsq/TE4aH4/Hw7x58zj99NPVK5LUiK4ZqS1dM1JbumaktnTNNH55eXkkJiYGMsL+NOqQU36LWlRUlEJOI+bxeAgLCyMqKkr/KUiN6JqR2tI1I7Wla0ZqS9dM01GTx1jU8YCIiIiIiDQrCjkiIiIiItKsKOSIiIiIiEiz0qifyakpn8+Hx+OxuowWy+Px4HQ6KSkpwefzHfLxXC4XDoejDioTERERkZaoSYcc0zTZuXMnOTk5VpfSopmmSUJCAlu3bq2z7zOKiYkhISFB348kIiIiIrXWpENOecBp06YNYWFh+kBsEcMwKCgoICIi4oBfzHQgpmlSVFTE7t27AWjXrl1dlCgiIiIiLUiTDTk+ny8QcFq1amV1OS2aYRi43W5CQkIOOeQAhIaGArB7927atGmjW9dEREREpFaabMcD5c/ghIWFWVyJ1Ify91XPWomIiIhIbTXZkFNOt6g1T3pfRURERORgNfmQIyIiIiIiUpFCjoiIiIiINCsKORZYvHgx/fr1IzIyktNOO420tLTAugULFpCUlNRgtUyaNIkrrrjikLcREREREWksFHIaWFFREeeeey433ngjq1atIjo6mhtvvDGw/uSTT2b58uUNVs/dd9/Niy++2GDnExERERGpb022C+nqmKZJscdnyblDXY4aPSy/evVqsrOzGTduHAAPPPAAkydPDqx3Op1ERUXVW517CwkJabBziYiIiIg0hAYJOUlJSWzevLnSMtM06/w8xR4fRzzwVZ0ftyZWTTmDsKAD/zgTExOx2+08+OCD3H333fTu3ZtPPvkksH7BggVcccUVpKamVtpv+fLljB49mu3bt3P55ZczZ84cbrjhBp588kmGDRvGu+++y9VXX82qVav47bff+Oqrr+jXrx8fffQR9913H5mZmYwaNYonnniiUrCZNGkSqampTJs2LbDM4/Fwxx13MH36dJKSkujdu/ch/3xERERERBpKg92u9tVXX5GdnR0YWqo2bdowffp0nnjiCbp27cr06dNrtN+ECRMYM2YMCxYs4I033uCNN97g0ksvBSA/P5/HH3+cp556iuuuu47evXszd+5cfvvtNy6//HIeffRRfvzxR5YsWcLdd999wHO99NJLfPnllyxYsIB///vfvPfee4f0mkVEREREGlKD3a6WnJxMTExMvZ4j1OVg1ZQz6vUc+zt3TV100UUMHTqUp59+mvHjx7N8+XIef/zx/e7z559/Mm3aNLp168YRRxzB5s2bOfHEEwEYO3YsISEhtG3blnPOOYdPPvkEj8fDa6+9xpgxYzjvvPMAeOqppzjttNN4+umn93tr3aeffsr1119P79696d27N+eee26NX5uIiIiINC+F+VmER8ZZXUatNFjImTRpEp9++indunVjxowZHHnkkVW2KS0tpbS0NDCfl5cH+G+f8ng8lbb1eDyYpolhGBiGEVge4rSmLwXTNGt0C9727dspLi4mJSWFBx54gIEDB3Laaadxww030KlTp8BrqfiaALp168aiRYuIi4tj3bp1dO/ePbBNUFAQhmEQEhKCYRiBWrZs2cLAgQMD2yUlJVFcXMyuXbto06ZNpbornm/Hjh106NAhsCw5OZkdO3ZUqaniay8f72ub2ip/HR6PB4ej5gFSmobyf897/7sW2RddM1JbumaktnTNVO/r/9xI2LyfSXlrBm0Te1haS23emwZtyfn777+56667uPrqq/n555+rbPPII49Uegi/3Lx58wgLC6u0zOl0kpCQQEFBAW63u97qrmtvv/02c+bM4fPPPwegT58+OJ1Otm7dSkxMDEVFRRiGEQh44A8PycnJ3HLLLVx77bVceeWVdOnShby8PAzDoKioCCCwn8fjobS0lLZt27J27drAsVasWEFoaCjBwcGBZaWlpXg8nkrni4uLY9OmTYFlGzZswOVyVdqmOvn5+XX2c3K73RQXF/P999/j9Xrr7LjSuMyfP9/qEqSJ0TUjtaVrRmpL18weOV9P47j5awD4+oUHiR042tJ6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EWkU1iyeS974W4ksMklTwJFDoNvVRERERMRyq3+ZQ8F1dxBRbJKWGMYx735GTHwHq8uSJkotOSIiIiJiqdU/f7kn4HRSwJFDp5YcEREREbHMqp++oOj6fxJRYrKtUxjHvfsF0a3aWV2WNHFqyRERERERS/y16DOKrv8n4SUm2zqHc/x7XyrgSJ1QyBERERGRBvfXj/+j+Ia7/QEnKZzj3/2CqLgEq8uSZkK3q4mIiIhIg1r5wyxKbrqX8BKTrckR9H/3SyJj2lhdljQjaskRERERkQazYuGnlN6ogCP1SyFHRERERBrEigUf4775XsJKTbZ2iVTAkXqj29VEREREpN4tX/AR3pvvJ8wNW1IiOWnmbCKi460uS5opteSIiIiISL3689sP8N58P6GBgDNHAUfqlUKOiIiIiNSbZd+8h+/Wif6A0zWqLOC0srosaeYUckRERESkXiyb/y7GbZMJdcPmw6I5+V0FHGkYCjkiIiIiUueWzX8X8/Yp/oDTLZoBM2cTHhlndVnSQqjjARERERGpU0u/egfbnQ8R4oHN3WMYOGMOYRExVpclLYhackRERESkzvw+dzp2BRyxmEKOiIiIiNSJpXPexvGPhwn2QOrhsQo4YhndriYiIiIih2zJl2/ivOsxgr2QekQsg96ZS2hYlNVlSQullhwREREROSS/ffFGhYATp4AjllNLjoiIiIgctN8+f42ge54kyAupPVtx6vS5BIdGWF2WtHBqyRERERGRg/LrZ68GAs6mnvEKONJoKOSIiIiISK39OusVgu95yh9wjopnyPQ5CjjSaOh2NRERERGplcWfvkzIv54lyAebesVz2ltfERQaZnVZIgFqyRERERGRGvvlkxf3BJzebRRwpFFSyBERERGRGvnl4xcIu/95f8Dp04bTps1RwJFGSSFHRERERA7o5w+fJ+yB/+LywaY+bTntLQUcabwUckRERERkv3764DkiJr6Iywcbj27LaW/NJihYAUcaL4UcEREREdmnn95/lshJL+E0YGPfBIZOU8CRxk8hR0RERESqtei9p4mc/LI/4PRrx9A3v1TAkSZBXUiLiIiISBWLZj5F1IOv+gPOMe05/Y0vcQWFWF2WSI2oJUdEREREKvlxxhOBgLPhuA4KONLkqCVHRERERAJ+fOdxoh9+IxBwznjtCwUcaXIUckREREQEgO/ffpS4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iIiIiIhIC6aWHBERERERaVYUckREREREpFlRyBERERERkWZFIUdERERERJoVhRwREREREWlWFHJERERERKRZUcgREREREZFmRSFHRERERESaFYUcERERERFpVhRyRERERESkWVHIERERERGRZkUhR0REREREmhWFHBERERERaVacVhewP6ZpApCXl2dxJbI/Ho+HoqIi8vLycLlcVpcjTYCuGaktXTNSW7pmpLZ0zTR+5ZmgPCPsT6MOOfn5+QAkJiZaXImIiIiIiDQG+fn5REdH73cbm1mTKGQRwzDYvn07kZGR2Gw2q8uRfcjLyyMxMZGtW7cSFRVldTnSBOiakdrSNSO1pWtGakvXTONnmib5+fm0b98eu33/T9006pYcu91Ox44drS5DaigqKkr/KUit6JqR2tI1I7Wla0ZqS9dM43agFpxy6nhARERERESaFYUcERERERFpVhRy5JAFBwczceJEgoODrS5FmghdM1JbumaktnTNSG3pmmleGnXHAyIiIiIiIrWllhwREREREWlWFHJERERERKRZUcgREREREZFmRSFHRERERESaFYUcqXdvv/02NpuN1NRUq0uRRu7333+nb9++REVFce6555KVlWV1SdIILF26lD59+hAaGsrpp5/O7t27rS5JGrmNGzdyyimnEBkZyaBBg9i8ebPVJUkT8f3332Oz2ViwYIHVpcghUsiRepWTk8M//vEPq8uQJsAwDEaPHs3pp5/O8uXL2b17Nw888IDVZYnFDMPgwgsv5KyzzuLvv/8mNDSU2267zeqypJEbP348nTp1YuXKlbRq1YobbrjB6pKkCfB4PFx//fVWlyF1RCFH6tW9997LiSeeaHUZ0gRs3LiRdevWcf/995OUlMTYsWP54YcfrC5LLLZw4UKysrKYNGkSHTt2ZOLEiXz66acUFhZaXZo0Um63m2+//ZZ77rmHzp07c9VVV+n/EqmRp59+mjZt2hAdHW11KVIHFHKk3vz+++98+OGHPPbYY1aXIk1AWFgYzzzzDOHh4QBkZmYSGhpqcVVitUWLFnHcccfhdDoB6NOnDz6fj6VLl1pcmTRWHo+Hxx57jOTkZED/l0jNbNu2jf/85z+88MILVpcidUQhR+qFYRhcd911PPjgg7Ru3drqcqQJaN++PbfccgsAubm5vPbaa4wdO9biqsRqO3fuJD4+PjBvt9uJjY1l165dFlYljVl4eDh33nknoaGheDwenn32Wf1fIgd0yy23cO2113L44YdbXYrUEafVBUjz9Morr2Cz2bjmmmvIy8uzuhxpQgoKCjjzzDM5+uijue6666wuRxoB0zSrzNtsNouqkabC6/VyySWX4HA4mDJlitXlSCM2d+5cfv/9d6ZPn251KVKH1JIj9eKDDz5g+fLlxMXF0blzZwB69erFjz/+aHFl0pgVFRVxxhlnEBUVxfvvv4/drv+iWrp27dqRnp4emPf5fOTk5JCQkGBhVdLYGYbByJEjSU1NZe7cubpdTfbr/fffZ8eOHbRv356YmBhyc3M566yzmDlzptWlySGwmXv/iUykDuzcuZOSkhIA8vLy6N27Nz/88APHHHMMISEhFlcnjdWYMWPIyMjg888/JygoyOpypBH4/vvvOeuss8jKysLpdLJkyRJOOeUU0tPTCQsLs7o8aaTuu+8+vvzySxYuXKiHyOWAMjIyKCgoCMz36tWLqVOnctZZZxEREWFhZXIoFHKk3uXk5BAbG8umTZtISkqyuhxppBYtWsSIESNYsmRJpee4YmJirCtKLGcYBocddhijRo3iuuuu4/rrryc6Olq3lcg+bd68mR49evDtt99Wer4iKipKrcNSIzExMcyaNYtBgwZZXYocAv1rF5FG4euvvyYvL49u3boRGxsbGKRls9vtfPjhh3zxxRd07dqVkpISnnrqKavLkkZswYIFlJSUcOKJJ1b6v2TLli1WlyYiDUgtOSIiIiIi0qyoJUdERERERJoVhRwREREREWlWFHJERERERKRZUcgREREREZFmRSFHRERERESaFYUcERERERFpVhRyRERERESkWVHIERERERGRZkUhR0REREREmhWFHBERERERaVb+H+V6Dm9IuOWNAAAAAElFTkSuQmCC\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "def sigmoid(x):\n",
        "    return 1 / (1 + np.exp(-x))\n",
        "\n",
        "def tanh(x):\n",
        "    return np.tanh(x)\n",
        "\n",
        "def relu(x):\n",
        "    return np.maximum(0, x)\n",
        "\n",
        "def leaky_relu(x, alpha=0.01):\n",
        "    return np.where(x > 0, x, alpha * x)\n",
        "\n",
        "def softmax(x):\n",
        "    exp_x = np.exp(x - np.max(x))  # 防止数值溢出\n",
        "    return exp_x / exp_x.sum()\n",
        "\n",
        "x = np.linspace(-5, 5, 100)\n",
        "\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.plot(x, sigmoid(x), label='Sigmoid')\n",
        "plt.plot(x, tanh(x), label='Tanh')\n",
        "plt.plot(x, relu(x), label='ReLU')\n",
        "plt.plot(x, leaky_relu(x), label='Leaky ReLU')\n",
        "plt.legend()\n",
        "plt.grid()\n",
        "plt.title('常见激活函数')\n",
        "plt.show()"
      ]
    }
  ]
}